package cn.iocoder.yudao.module.trade.service.order;

import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPrintLabelVo;
import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPrintReceiptItemVo;
import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPrintReceiptVo;
import org.springframework.scheduling.annotation.Async;

import java.util.List;

/**
 * 订单打印服务
 */
public interface TradeOrderPrintService {

    @Async
    /**
     * 标签打印
     */
    void printLabel(String sn, List<TradeOrderPrintLabelVo> tradeOrderPrintLabelVoList);

    //@Async
    void printLabel(String sn, TradeOrderPrintLabelVo tradeOrderPrintLabelVo);

    /**
     * 小票打印
     * @param sn 设备号
     * @param printReceiptVo  打印小票对象
     * @param printReceiptItemVoList  打印小票详情菜单对象
     */
    @Async
    void printReceipt(String sn, TradeOrderPrintReceiptVo printReceiptVo, List<TradeOrderPrintReceiptItemVo> printReceiptItemVoList);
}
